When dealing with many files in a multi-user environment, users may employ enterprise-level software solutions with many integrated functions. A key feature of these large software implementations is their ability to manage multiple versions of objects, governing multi-user access with check-in/check-out systems, and maintaining logical hyperlinks pointing to the most current and context-relevant version of an object or file. As described in U.S. Pat. No. 6,134,552, which is incorporated herein by reference, a Knowledge Provider system (KPRO) can be used to create, update, and maintain a directory of logical objects and their physical counterparts that are stored on a content server separate from the logical objects. This functionality has become essential for enterprise-level file management, though it has traditionally been governed by a complete software system wherein users access these objects through an integrated front-end built into the larger software system.
Today, some users prefer to access files and objects while employing the services of such enterprise-level software implementations, but without using the front-end interface supplied with the enterprise software itself. Such interaction can be supported by Web-based access to services through a Service-Oriented Architecture (SOA) layer. In this SOA implementation, users can employ any interface capable of communicating properly with the SOA layer. Typical examples of acceptable interfaces include common Web browser software, or purpose-coded applications. This form of access, with its inherent freedom to code new applications and to interface with relevant data in the most convenient manner, is increasingly popular.
However, a problem exists with this mode of access. In such implementations, the user-created Web interface is generally capable of communicating only with the SOA layer, not with content servers directly (where files are stored). Thus, if a user wishes to create, save, update or load a file, it is necessary to send a request to the SOA, which in turn communicates with the KPRO to ascertain the location of the physical object on the content server, and then passes an internal request directly to the content servers. Once the file is retrieved, it is passed back through the same channels, via the SOA to the client. Because only the enterprise-level software is capable of communicating with the content servers, a bottleneck can occur when large files are transferred between the user and content servers by way of the SOA and KPRO as intermediaries, particularly when many users are interacting with the enterprise-level software at one time.